Component org.nuxeo.ecm.platform.csv.export.config
In bundle org.nuxeo.ecm.platform.csv.export
Requirements
Resolution Order
353
The resolution order represents the order in which this component has been resolved by the Nuxeo Runtime
framework.
You can influence this order by adding "require" tags in your component declaration, to make sure it is resolved after another component.
Contributions
- org.nuxeo.ecm.platform.csv.export.config--actions
- org.nuxeo.ecm.platform.csv.export.config--scroll
- org.nuxeo.ecm.platform.csv.export.config--streamProcessor
- org.nuxeo.ecm.platform.csv.export.config--store
XML Source
<?xml version="1.0"?>
<component name="org.nuxeo.ecm.platform.csv.export.config" version="1.0.0">
<require>org.nuxeo.ecm.core.bulk</require>
<require>org.nuxeo.ecm.core.scroll.service</require>
<extension target="org.nuxeo.ecm.core.bulk" point="actions">
<action name="csvExport" inputStream="bulk/csvExport" bucketSize="100" batchSize="50" httpEnabled="true"
defaultScroller="${nuxeo.core.bulk.csvExport.scroller:=default}"
defaultQueryLimit="${nuxeo.core.bulk.csvExport.queryLimit:=100000}"
validationClass="org.nuxeo.ecm.platform.csv.export.validation.CSVExportValidation" />
<action name="userCSVExport" inputStream="bulk/userCSVExport" bucketSize="100" batchSize="50" httpEnabled="true"
defaultScroller="userManager"
defaultQueryLimit="${nuxeo.core.bulk.userCSVExport.queryLimit:=100000}"
validationClass="org.nuxeo.ecm.platform.csv.export.validation.UserCSVExportValidation" />
<action name="groupCSVExport" inputStream="bulk/groupCSVExport" bucketSize="100" batchSize="50" httpEnabled="true"
defaultScroller="groupManager"
defaultQueryLimit="${nuxeo.core.bulk.groupCSVExport.queryLimit:=100000}"
validationClass="org.nuxeo.ecm.platform.csv.export.validation.GroupCSVExportValidation" />
</extension>
<extension target="org.nuxeo.ecm.core.scroll.service" point="scroll">
<scroll type="generic" name="userManager" class="org.nuxeo.ecm.platform.csv.export.scroll.UserManagerScroll" />
<scroll type="generic" name="groupManager" class="org.nuxeo.ecm.platform.csv.export.scroll.GroupManagerScroll" />
</extension>
<extension target="org.nuxeo.runtime.stream.service" point="streamProcessor">
<!-- Blob assembly shared by every CSV export action. Declared once: a second processor declaring these global
streams fails with "Tailer for this partition already created". It also carries the bulk/makeBlob filter for
every action producing to that stream, since a filter chain is configured by a single processor. -->
<streamProcessor name="csvExportBlob" class="org.nuxeo.ecm.platform.csv.export.action.CSVExportBlobTopology"
defaultConcurrency="${nuxeo.bulk.action.csvExportBlob.defaultConcurrency:=2}"
defaultPartitions="${nuxeo.bulk.action.csvExportBlob.defaultPartitions:=4}">
<policy name="default" maxRetries="3" delay="1s" maxDelay="10s" continueOnFailure="true" />
<stream name="bulk/makeBlob">
<filter name="overflow" class="org.nuxeo.ecm.core.transientstore.computation.TransientStoreOverflowRecordFilter">
<option name="storeName">default</option>
<option name="prefix">csvoverflow</option>
<option name="thresholdSize">966KiB</option>
</filter>
</stream>
<option name="produceImmediate">${nuxeo.bulk.action.csvExportBlob.produceImmediate:=true}</option>
</streamProcessor>
<!-- CSV exporter processor -->
<streamProcessor name="csvExport" class="org.nuxeo.ecm.platform.csv.export.action.CSVExportAction"
defaultConcurrency="${nuxeo.bulk.action.csvExport.defaultConcurrency:=2}"
defaultPartitions="${nuxeo.bulk.action.csvExport.defaultPartitions:=4}">
<policy name="default" maxRetries="3" delay="1s" maxDelay="10s" continueOnFailure="true" />
</streamProcessor>
<!-- user CSV exporter processor -->
<streamProcessor name="userCSVExport" class="org.nuxeo.ecm.platform.csv.export.action.UserCSVExportAction"
defaultConcurrency="${nuxeo.bulk.action.userCSVExport.defaultConcurrency:=2}"
defaultPartitions="${nuxeo.bulk.action.userCSVExport.defaultPartitions:=4}">
<policy name="default" maxRetries="3" delay="1s" maxDelay="10s" continueOnFailure="true" />
</streamProcessor>
<!-- group CSV exporter processor -->
<streamProcessor name="groupCSVExport" class="org.nuxeo.ecm.platform.csv.export.action.GroupCSVExportAction"
defaultConcurrency="${nuxeo.bulk.action.groupCSVExport.defaultConcurrency:=2}"
defaultPartitions="${nuxeo.bulk.action.groupCSVExport.defaultPartitions:=4}">
<policy name="default" maxRetries="3" delay="1s" maxDelay="10s" continueOnFailure="true" />
</streamProcessor>
</extension>
<extension target="org.nuxeo.ecm.core.transientstore.TransientStorageComponent" point="store">
<!-- Explicit declaration based on default configuration to enforce GC -->
<store name="csvExport" />
<store name="userCSVExport" />
<store name="groupCSVExport" />
</extension>
</component>